A method for corresponding points on three dimension to points on two dimension can be realized from the beginning of computer graphics as a basic technology of three-dimensional (3D) computer graphics. OpenGL that is a standard API (Application Program Interface) used to support hardware acceleration of 3D rendering in real time performs an operation of corresponding vertices to two-dimensional (2D) positions through a model-view-projection matrix and mapping each point on 3D to 2D, thereby performing the rendering.
The typical real-time 3D rendering uses a method based on a triangular mesh. A model defined by the triangular mesh on three dimension is transformed by a model-view-projection matrix and an inside of the transformed triangular is filled with textures. In this case, light is irradiated to the triangular to enhance reality. Currently used 3D graphic hardware may support acceleration of the 3D rendering and process a considerable amount of mesh in real time.
However, the point based rendering uses points instead of the triangular and therefore, needs not to use functions of filling the triangular with the textures or irradiating light thereto. As a result, hardware is inefficiently used. In addition, a plane point cloud method on three dimension that is represented by a single triangular provides representation using a large number of points and therefore, uses a larger number of points as compared with the triangular mesh based model. As a result, it is difficult for the plane point cloud method to render the point cloud model without effective algorithms even in high-performance 3D acceleration hardware. The software algorithms for accelerating the triangular mesh rendering may not be applied to the point cloud rendering based on the point rather than based on the plane.
As the method for accelerating the point cloud rendering, there are several algorithms. There have been used many methods for accelerating the point cloud rendering, such as a method for performing rendering by recovering planes of a 3D model from points to transform the recovered planes into a triangular mesh, a method for displaying only a small number of points on a screen by under-sampling each point using several method, a method for rendering only points of a required detail level according to a scale displayed on a screen by constructing points into hierarchical data structure, and a method for rendering adjacent points into a single splat by analyzing a single point based on a sample on a surface, and the like. These methods performs the rendering into other shapes such as a surface, small ovals, and points in consideration of the rendered results and have several different characteristics such as whether the 3D acceleration hardware is used, whether the rendering may be performed in the interaction possible speed, and the like.
Applications of a CAD type among applications handling the 3D point cloud handle points as points themselves and need to display points, not surfaces or splats, on a screen. Therefore, it difficult to use an algorithm of recovering points into planes or performing rendering and acceleration in the splat scheme in these environments, and the under-sampling method of displaying points as points or method of using and accelerating the hierarchical data structure may be used. In addition, the rendering needs to be performed in a rapid speed to implement the interaction.